package com.fudan.backend.service;

import com.fudan.backend.exception.RetCode;
import com.fudan.backend.pojo.Category;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface CategoryService {
    /**
     * 通过categoryId获取Category信息
     * @param categoryId
     * @return 返回对应的Category, 如果不存在返回的错误信息
     */
    Category getCategoryByCategoryId(String categoryId);

    /**
     * @param current  当前页码
     * @param pageSize 页面大小
     * @return 获取所有商品类别页面信息
     */
    PageInfo<Category> getAllCategory(int current, int pageSize);

    /**
     * 新增商品类别
     * @param category
     * @return 返回对应状态码
     */
    RetCode addCategory(Category category);

    /**
     * 删除商品类别
     * @param categoryId
     * @return 返回对应状态码
     */
    RetCode deleteCategory(String categoryId);

    /**
     * 更新商品类别
     * @param category
     * @return 返回对应状态码
     */
    RetCode updateCategory(Category category);

    /**
     * 通过categoryName模糊查询Category信息
     * @param categoryName
     * @return 返回对应的Category, 如果不存在返回的错误信息
     */
    List<Category> getCategoryByPartialCategoryName(String categoryName);
}
